1. Field of the Invention
This invention relates to the field of computer interfaces, and, more specifically, to displaying and modifying a graphical user interface.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Java, JavaBeans, HotJava and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
2. Background Art
Businesses often store information on a computer. Customarily, the information or data that is stored consists of various aspects of the business such as the business customers, its vendors, its employees, or invoices. For example, the business may want to store the name, address, phone number, and contact person for each of its customers. Similarly, a business may want to store the same information for each of its vendors. Each of these business aspects may be viewed as an object and referred to as a business object (e.g., a customer business object, a vendor business object, an employee business object, or invoice business object). The information contained within each business object may be referred to as a property of the business object or business object data (e.g., a customer""s business object data may consist of a name, address, phone, etc.).
Business object data may and often needs to be modified and edited. One problem with prior art methods for modifying business object data is that the prior art does not present the frame/context containing the business object data (e.g., the main window, the menus, the toolbar, the action bar, the status bar, etc.) in a display with a common look and feel and the methods for modification are inefficient. Consequently, not only must the developer individually program (possibly according to a set of look and feel guide lines) the way the information of the business object is displayed (e.g., how to organize the layout of the data), but the developer must individually program the frame/context containing the business information. Thus, any changes to the display and frame/context must also be hand coded by a programmer/developer. Another problem is that the prior art requires a programmer to individually map or bind the methods/commands (e.g., a xe2x80x9csavexe2x80x9d command to save changes to a database or a xe2x80x9cdeletexe2x80x9d command to delete a record from a database) to the graphical/displayed representation of that command (e.g., a xe2x80x9csavexe2x80x9d button, or xe2x80x9cdeletexe2x80x9d button in a display). These disadvantages and requirements of the prior art may be better understood by reviewing displays (also referred to as graphical user interfaces (GUIs)).
Graphical User Interfaces
A graphical user interface or GUI is a graphical representation or presentation of information. Various options that provide the user with the ability to manipulate information and data may be presented in a GUI that may consist of a window or menu. For example, customer information such as a customer name, contact name, address, and zip code may be presented to a user in a visually appealing manner such that the words xe2x80x9cCustomer Namexe2x80x9d appear next to a text field box with a space for a name, the words xe2x80x9cContact Namexe2x80x9d appear next to a text field box with a space for a name, the word xe2x80x9cAddressxe2x80x9d appears next to a text field box with a space for an address, and the words xe2x80x9cZip Codexe2x80x9d appear next to a text field box with a space for a zip code. The field names (i.e., Customer Name, Contact Name, Address, and Zip Code) may be displayed in a specific font or color with the text field boxes (or the information in the text field boxes) in the same or different font or color. Thus, the GUI provides for the display of the information.
Commonly, a GUI representation of information is displayed in a window with several standard components that are displayed regardless of the type, style, or content of the information to be displayed by the GUI. FIG. 1 illustrates the standard components of a GUI. For example, a GUI is contained within frame 100. The top of the GUI may have a title bar 102 for which a title may be specified (e.g., CustomerGUI).
Below title bar 102 may be a menu bar 104. Menu bar 104 has various capabilities. A menu may be displayed to the user with various submenus. For example, the menu may contain options File 108 and Edit 110. File 108 may in turn have submenus such as New, Open, Close, Save, and Print. Edit may have submenus such as Cut, Copy, Paste, etc. Each submenu may be a menu itself or a command that can be selected by the user.
At the bottom of frame 100 may be a Status Bar 106 that contains a status message such as xe2x80x9cUpdate Completedxe2x80x9d. In addition, various action bars containing actions to be taken or buttons with icons on them may be present within GUI frame 100.
The text that appears within a menu, bar, or within the frame is a xe2x80x9clabelxe2x80x9d. Any image or picture that appears in a menu, bar, or within the frame is an icon. When the user selects an icon, or option, such selection is referred to as an event. Upon the occurrence of an event, an action or command is initiated. For example, when a user selects the save option from a menu, an action or command that saves the relevant information is initiated.
To display a GUI with the standard GUI components (and respective labels and icons) as described above, a programmer must define the labels, and which components are to be displayed. The prior art requires that the programmer set the GUI components within the code for the GUI. Further, any commands or actions that occur in response to an event must be set by the programmer in the computer code. To run a computer program, computer code must be compiled or converted into an executable form. It is desirable to modify a GUI without having to change the underlying code and recompiling the computer code.
A user interface component. One or more embodiments provide a framework to develop a graphical user interface (GUI) for applications and to present information to a user. The framework provides a common look, feel, and usage with a layout that may follow a designated style guide.
Aspects of a business (e.g., customers, vendors, or invoices) are created in the form of business objects. An editor that provides the ability to display and modify attributes of each business object (e.g., the address, name and phone number may be attributes of a customer object) is created. A set of commands that implement the changes made in an editor and that are executed upon execution of an event (such as the selection of a button on a display, e.g., a xe2x80x9csavexe2x80x9d button) are also defined. One or more embodiments of the invention provide for the defining of information relating to a GUI""s menu bar, tool bar, and action bar. Such user interface information may be provided in a properties file. One or more embodiments of the invention utilize the properties file to build the GUI menu bar, tool bar, and action bar.
One or more embodiments of the invention utilizes information from the properties files and automatically maps the options from the different GUI bars to the appropriate command. Subsequent changes to the GUI bars may be done by updating the properties file without the need for recompilation.